package com.chengyu.eyc.model;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.chengyu.eyc.utils.EycGenId;

import tk.mybatis.mapper.annotation.KeySql;

@Table(name = "eyc_insp_station")
public class EycInspStation extends BaseModel implements Serializable {
    private static final long serialVersionUID = 1L;

    @KeySql(genId = EycGenId.class)
    @Id
    @Column(name = "INSP_STATION_ID")
    private String inspStationId;

    /**
     * 网点号
     */
    @Column(name = "STATION_ID")
    private String stationId;

    /**
     * 推荐优先登记，用1,2,3等标识，1为最优先
     */
    @Column(name = "PRIORITY")
    private Integer priority;

    /**
     * 检测站运营公司
     */
    @Column(name = "COMPANY")
    private String company;

    /**
     * 所在省份
     */
    @Column(name = "PROVINCE")
    private String province;

    /**
     * 地级行政区
     */
    @Column(name = "PREPECTURE")
    private String prepecture;

    /**
     * 县级行政区
     */
    @Column(name = "COUNTY")
    private String county;

    /**
     * 地址
     */
    @Column(name = "ADDR")
    private String addr;

    /**
     * 联系人
     */
    @Column(name = "CONTACT")
    private String contact;

    /**
     * 联系电话
     */
    @Column(name = "CONTACT_NUM")
    private String contactNum;

    /**
     * 可安检
     */
    @Column(name = "SAFETY_INSP")
    private Boolean safetyInsp;

    /**
     * 可环保检测
     */
    @Column(name = "EP_INSP")
    private Boolean epInsp;

    /**
     * 可综检
     */
    @Column(name = "COMP_INSP")
    private Boolean compInsp;

    /**
     * 经度
     */
    @Column(name = "LNG")
    private BigDecimal lng;

    /**
     * 纬度
     */
    @Column(name = "LAT")
    private BigDecimal lat;

    /**
     * 检测需要的时长(分钟)
     */
    @Column(name = "TIME_CONSUME")
    private Integer timeConsume;

    /**
     * 说明
     */
    @Column(name = "REMARK")
    private String remark;

    /**
     * 失效标志
     */
    @Column(name = "IS_ACTIVE")
    private Boolean isActive;
    
    /**
     * 休息日设置，从周一到周日(1-7)，选择设置休息日。/分隔符
     */
    @Column(name = "DAY_OFF")
    private String dayOff;

    
    @Transient
    private BigDecimal distance;

    /**
     * 获取地址
     *
     * @return ADDR - 地址
     */
    public String getAddr() {
        return addr;
    }

    /**
     * 获取检测站运营公司
     *
     * @return COMPANY - 检测站运营公司
     */
    public String getCompany() {
        return company;
    }

    /**
     * 获取可综检
     *
     * @return COMP_INSP - 可综检
     */
    public Boolean getCompInsp() {
        return compInsp;
    }

    /**
     * 获取联系人
     *
     * @return CONTACT - 联系人
     */
    public String getContact() {
        return contact;
    }

    /**
     * 获取联系电话
     *
     * @return CONTACT_NUM - 联系电话
     */
    public String getContactNum() {
        return contactNum;
    }

    /**
     * 获取县级行政区
     *
     * @return COUNTY - 县级行政区
     */
    public String getCounty() {
        return county;
    }

    /**
     * @return the distance
     */
    public BigDecimal getDistance() {
        return distance;
    }

    /**
     * 获取可环保检测
     *
     * @return EP_INSP - 可环保检测
     */
    public Boolean getEpInsp() {
        return epInsp;
    }

    /**
     * @return INSP_STATION_ID
     */
    public String getInspStationId() {
        return inspStationId;
    }

    /**
     * 获取失效标志
     *
     * @return IS_ACTIVE - 失效标志
     */
    public Boolean getIsActive() {
        return isActive;
    }

    /**
     * 获取纬度
     *
     * @return LAT - 纬度
     */
    public BigDecimal getLat() {
        return lat;
    }

    /**
     * 获取经度
     *
     * @return LNG - 经度
     */
    public BigDecimal getLng() {
        return lng;
    }

    /**
     * 获取地级行政区
     *
     * @return PREPECTURE - 地级行政区
     */
    public String getPrepecture() {
        return prepecture;
    }

    /**
     * 获取推荐优先登记，用1,2,3等标识，1为最优先
     *
     * @return PRIORITY - 推荐优先登记，用1,2,3等标识，1为最优先
     */
    public Integer getPriority() {
        return priority;
    }

    /**
     * 获取所在省份
     *
     * @return PROVINCE - 所在省份
     */
    public String getProvince() {
        return province;
    }

    /**
     * 获取说明
     *
     * @return REMARK - 说明
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 获取可安检
     *
     * @return SAFETY_INSP - 可安检
     */
    public Boolean getSafetyInsp() {
        return safetyInsp;
    }

    /**
     * 获取网点号
     *
     * @return STATION_ID - 网点号
     */
    public String getStationId() {
        return stationId;
    }

    /**
     * 获取检测需要的时长(分钟)
     *
     * @return TIME_CONSUME - 检测需要的时长(分钟)
     */
    public Integer getTimeConsume() {
        return timeConsume;
    }

    /**
     * 设置地址
     *
     * @param addr 地址
     */
    public void setAddr(String addr) {
        this.addr = addr == null ? null : addr.trim();
    }

    /**
     * 设置检测站运营公司
     *
     * @param company 检测站运营公司
     */
    public void setCompany(String company) {
        this.company = company == null ? null : company.trim();
    }

    /**
     * 设置可综检
     *
     * @param compInsp 可综检
     */
    public void setCompInsp(Boolean compInsp) {
        this.compInsp = compInsp;
    }

    /**
     * 设置联系人
     *
     * @param contact 联系人
     */
    public void setContact(String contact) {
        this.contact = contact == null ? null : contact.trim();
    }

    /**
     * 设置联系电话
     *
     * @param contactNum 联系电话
     */
    public void setContactNum(String contactNum) {
        this.contactNum = contactNum == null ? null : contactNum.trim();
    }

    /**
     * 设置县级行政区
     *
     * @param county 县级行政区
     */
    public void setCounty(String county) {
        this.county = county == null ? null : county.trim();
    }

    /**
     * @param distance the distance to set
     */
    public void setDistance(BigDecimal distance) {
        this.distance = distance;
    }

    /**
     * 设置可环保检测
     *
     * @param epInsp 可环保检测
     */
    public void setEpInsp(Boolean epInsp) {
        this.epInsp = epInsp;
    }

    /**
     * @param inspStationId
     */
    public void setInspStationId(String inspStationId) {
        this.inspStationId = inspStationId == null ? null : inspStationId.trim();
    }

    /**
     * 设置失效标志
     *
     * @param isActive 失效标志
     */
    public void setIsActive(Boolean isActive) {
        this.isActive = isActive;
    }

    /**
     * 设置纬度
     *
     * @param lat 纬度
     */
    public void setLat(BigDecimal lat) {
        this.lat = lat;
    }

    /**
     * 设置经度
     *
     * @param lng 经度
     */
    public void setLng(BigDecimal lng) {
        this.lng = lng;
    }

    /**
     * 设置地级行政区
     *
     * @param prepecture 地级行政区
     */
    public void setPrepecture(String prepecture) {
        this.prepecture = prepecture == null ? null : prepecture.trim();
    }

    /**
     * 设置推荐优先登记，用1,2,3等标识，1为最优先
     *
     * @param priority 推荐优先登记，用1,2,3等标识，1为最优先
     */
    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    /**
     * 设置所在省份
     *
     * @param province 所在省份
     */
    public void setProvince(String province) {
        this.province = province == null ? null : province.trim();
    }

    /**
     * 设置说明
     *
     * @param remark 说明
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 设置可安检
     *
     * @param safetyInsp 可安检
     */
    public void setSafetyInsp(Boolean safetyInsp) {
        this.safetyInsp = safetyInsp;
    }
    


    /**
     * 设置网点号
     *
     * @param stationId 网点号
     */
    public void setStationId(String stationId) {
        this.stationId = stationId == null ? null : stationId.trim();
    }

    
    /**
     * 设置检测需要的时长(分钟)
     *
     * @param timeConsume 检测需要的时长(分钟)
     */
    public void setTimeConsume(Integer timeConsume) {
        this.timeConsume = timeConsume;
    }
    
    /**
     * 获取休息日设置，从周一到周日(1-7)，选择设置休息日。/分隔符
     *
     * @return DAY_OFF - 休息日设置，从周一到周日(1-7)，选择设置休息日。/分隔符
     */
    public String getDayOff() {
        return dayOff;
    }

    /**
     * 设置休息日设置，从周一到周日(1-7)，选择设置休息日。/分隔符
     *
     * @param dayOff 休息日设置，从周一到周日(1-7)，选择设置休息日。/分隔符
     */
    public void setDayOff(String dayOff) {
        this.dayOff = dayOff == null ? null : dayOff.trim();
    }

    
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", inspStationId=").append(inspStationId);
        sb.append(", stationId=").append(stationId);
        sb.append(", priority=").append(priority);
        sb.append(", company=").append(company);
        sb.append(", province=").append(province);
        sb.append(", prepecture=").append(prepecture);
        sb.append(", county=").append(county);
        sb.append(", addr=").append(addr);
        sb.append(", contact=").append(contact);
        sb.append(", contactNum=").append(contactNum);
        sb.append(", safetyInsp=").append(safetyInsp);
        sb.append(", epInsp=").append(epInsp);
        sb.append(", compInsp=").append(compInsp);
        sb.append(", lng=").append(lng);
        sb.append(", lat=").append(lat);
        sb.append(", timeConsume=").append(timeConsume);
        sb.append(", remark=").append(remark);
        sb.append(", isActive=").append(isActive);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}